package com.itestor.iptv.modules.common.service;

import java.util.List;
import com.itestor.iptv.modules.common.bean.RoleGroupQuery;
import com.itestor.iptv.modules.common.domain.RoleGroup;

/** 
 * @author Mr.li
 */
public interface RoleGroupService {

    /**
     * 获取权限分组.
     * @param roleGroupName 
     * @return RoleGroup
     */
    RoleGroup get(String roleGroupName);

    /**
     * 获取权限分组.
     * @param id 
     * @return RoleGroup
     */
    RoleGroup get(int id);
    
    /**
     * 获取权限分组.
     * @param group 
     */
    void add(RoleGroup group);

    /**
     * 编辑权限分组.
     * @param group .     
     */
    void modify(RoleGroup group);

    /**
     * 删除权限分组.
     * @param ids.
     */
    void delete(int[] ids);

    /**
     * 按条件获取虚拟分组列表.
     * @param query 查询条件
     */
    void queryRoleGroupList(RoleGroupQuery query);
    
    /**
     * 获取所有权限分组列表.
     * @return List
     */
    List<RoleGroup> findAllRoleGroupList();
    
    
    /**
     * 分配关联设备
     * @param idRoleGroup 
     * @param robotIdList
     */
    void addRelRobot(int idRoleGroup, List<Integer> robotIdList);
    
    /**
     * 删除关联设备.
     * @param idRoleGroup
     * @param robotIds
     */
    void deleteRelRobot(String idRoleGroup, int[] robotIds);

    void grantExecuteRelRobot(String pRoleGroupId, int[] pIds);

    void grantBrowseRelRobot(String pRoleGroupId, int[] pIds);
    
    
    
    
}
